Proc IBDataSet je readonly a neumozni zmenu zobrazenych dat (komponenty INTERBASE)?

Otázka od: Petr Vareka

13. 9. 2002 21:32

         (komponenty INTERBASE)?
Hledam obetavce, ktery je ochoten prelouskat nasl. par radek blabolu a
pak mi pripadne neco smysluplneho odpovedet. Predem dik.


Mam form a na nem DBgrid GridA , DataSource SourceB , IBDataSet
IBSetD, IBTransaction TransD a konecne
 IBDatabase DatabE.


Propojeni je nasledovne:
GridA.DataSource = SourceB,
SourceB.DataSet = IBSetD,
IBSetD.Database = DatabE,
IBSetD.Transaction = TransD,
TransD.DefaultDatabase = DatabE,
Plneni IBDataSet: IBSetD.SelectSQL (TStrings) nastaveno na
'Select * From nejaky_soubor'

V eventu OnCreate formu mam skript IBSetD.Open
a na OnClicked buttonu mam naveseno IBSet.Edit.

Po stisknuti tohoto buttonu v runtime se objevi vyjimka
 Dataset je read only.
Zkousel jsem s tim bezuspesne neco udelat asi 3 hodiny a pak jsem radej
sel na houby.

                                                                       S
pozdravem Petr Vareka

Odpovedá: Jan Sebelík

14. 9. 2002 13:26

         (komponenty INTERBASE)?
> Odesílatel: Petr Vareka <pvareka@mujmejl.cz>
> Plneni IBDataSet: IBSetD.SelectSQL (TStrings) nastaveno na
> 'Select * From nejaky_soubor'
> a na OnClicked buttonu mam naveseno IBSet.Edit.
> Dataset je read only.

Mas taky nastaveno IBSetD.ModifySQL?

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================

Odpovedá: Lebeda David

16. 9. 2002 6:26

         (komponenty INTERBASE)?
> V eventu OnCreate formu mam skript IBSetD.Open
> a na OnClicked buttonu mam naveseno IBSet.Edit.
>
> Po stisknuti tohoto buttonu v runtime se objevi vyjimka
> Dataset je read only.

Ahoj,

IBDataset neumi sam nejak interne editovat zaznamy. Musis vyplnit InsertSQL,
ModifySQL, DeleteSQL, popr. RefreshSQL - resp. jen ty z nich, ktere potrebujes.
O
tom, jak to pouzit, viz treba help. Potom, mas-li vyplneno napr. ModifySQL,
muzes
zavolat IBDataset.Edit, editovat a po IBDataset.Post se zavola prikaz z
ModifySQL a
udela, co mu reknes.

David Lebeda